let fs = require("fs")

/**
 * flowing 模式
 *      监听 'data' 事件
 *      调用 stream.resume() 方法
 *      调用 stream.pipe() 方法将数据发送到Writable
 * 暂停模式
 *      
 */

let rs = fs.createReadStream('./1.txt', {
    highWaterMark: 3
})
let ws = fs.createWriteStream("./2.txt", {
    highWaterMark: 3
})


// pipe 的原理
rs.on("data", function(data){
    let flag = ws.write(data)
    if(!flag){
        rs.pause()
    }
})
ws.on("drain", function(){
    console.log("drain")
    rs.resume()
})



// rs.on('end', function(){
//     console.log('end')
// })
// rs.pipe(ws)

// 移除目标可写流
// rs.unpipe(ws)
